package com.itheima.mapper;

import com.itheima.pojo.Orders;
import com.itheima.vo.OrderAndDetailVO;
import com.itheima.vo.OrderListVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author 小帅蓝
 * @Date 2022/6/20 20:39
 */
@Mapper
public interface OrdersMapper {

    /**
     * 查询订单总数
     *
     * @param number 订单号
     * @param userId 下单用户
     * @return 总数
     */
    int getCount(@Param("number") String number, @Param("userId") String userId);

    /**
     * 订单分页查询
     *
     * @param beginTime beginTime
     * @param endTime   endTime
     * @param number    订单号
     * @param offset    起始页
     * @param pageSize  每页显示条数
     * @return 订单信息集合
     */
    List<Orders> queryAll(@Param("beginTime") String beginTime,
                          @Param("endTime") String endTime,
                          @Param("number") String number,
                          @Param("offset") Integer offset,
                          @Param("pageSize") Integer pageSize);

    /**
     * 更新订单状态
     *
     * @param orders 订单
     * @return 受影响行数
     */
    int updateStatus(Orders orders);

    /**
     * 提交订单 (移动端)
     *
     * @param orders 订单
     * @return 受影响行数
     */
    int insertOrder(Orders orders);

    /**
     * 订单列表 （移动端）
     *
     * @param userId   用户id
     * @param offset   起始页
     * @param pageSize 每页总条数
     * @return List<OrderListVO>
     */
    List<OrderListVO> getOrderList(@Param("userId") String userId,
                                   @Param("offset") Integer offset,
                                   @Param("pageSize") Integer pageSize);

}
